/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.clinicariobamba.Controladores;

import com.clinicariobamba.ReglasNegocio.Clases.ProfesionalSalud;
import com.clinicariobamba.ReglasNegocio.Funciones.FuncionesProfesionalSalud;
import java.io.Serializable;
import java.util.ArrayList;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.DefaultRequestContext;

/**
 *
 * @author Gis
 */
@ManagedBean
@ViewScoped
public class ControladorProfesionalSalud implements Serializable{
    
    private ProfesionalSalud ps;
    private ProfesionalSalud psSel;    
    private ArrayList<ProfesionalSalud> lstPs;   

    public ControladorProfesionalSalud() {
        this.ps = new ProfesionalSalud();
        cargarListProfesionalSalud();
    }

    public ProfesionalSalud getPs() {
        return ps;
    }

    public void setPs(ProfesionalSalud ps) {
        this.ps = ps;
    }

    public ProfesionalSalud getPsSel() {
        return psSel;
    }

    public void setPsSel(ProfesionalSalud psSel) {
        this.psSel = psSel;
    }        

    public ArrayList<ProfesionalSalud> getLstPs() {
        return lstPs;
    }

    public void setLstPs(ArrayList<ProfesionalSalud> lstPs) {
        this.lstPs = lstPs;
    }

    public ProfesionalSalud ObtenerProfesionalSalud(String cedula)
    {
       return FuncionesProfesionalSalud.obtenerProfesionalSalud(cedula);
    }
    
    private void cargarListProfesionalSalud() {
        try {
            lstPs = FuncionesProfesionalSalud.obtenerProfesionalSaluds();
        } catch (Exception e) {            
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }        
    }
    
    public void insertarProfesionalSalud() {
        try {
            if (FuncionesProfesionalSalud.insertar(ps)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Insertados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                cargarListProfesionalSalud();
                DefaultRequestContext.getCurrentInstance().execute("wdlgNuevoPs.hide()");
                ps = new ProfesionalSalud();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al eliminar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {            
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);

        }
    }
    
    public void editarProfesionalSalud() {
        try {
            if (FuncionesProfesionalSalud.modificar(psSel)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Actualizados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                cargarListProfesionalSalud();
                DefaultRequestContext.getCurrentInstance().execute("wdlgEditarPs.hide()");
                psSel = new ProfesionalSalud();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error en la actualizacion");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }
    
    
}
